Welcome to python!

16、判断某列字符以指定字符开始行数据计算

import pandas as pd

path=r"D:\Pyobject2023\object\Case\素材"

df=pd.read_excel(path+r"/1.02.xlsx","成本表2")

print(df)

mask=df["产品编码"].str.startswith('F', na=False)

dfs=(df.现在用量-df.以前用量)/df.以前用量

df.loc[mask,"增加"]="用量增加"+ dfs.apply(lambda x: "{:.0%}".format(x) if not pd.isnull(x) else "0%")

print(df)

返回值:


产品编码 成本项目_x 以前用量 现在用量
0 14061007 注塑件 1 5
1 14061008 注塑件 1 3
2 14064001 电镀件 1 5
3 14067044 冲压件 19 32
4 14085003 五金件 2 34
5 90010976 辅助材料 2 65
6 90011052 辅助材料 3 33
7 90160038 辅助材料 34 34
8 F14063127 委外加工费 19 54

产品编码 成本项目_x 以前用量 现在用量 增加
0 14061007 注塑件 1 5 NaN
1 14061008 注塑件 1 3 NaN
2 14064001 电镀件 1 5 NaN
3 14067044 冲压件 19 32 NaN
4 14085003 五金件 2 34 NaN
5 90010976 辅助材料 2 65 NaN
6 90011052 辅助材料 3 33 NaN
7 90160038 辅助材料 34 34 NaN
8 F14063127 委外加工费 19 54 用量增加184%